/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						       new_game_details.h

	$Header: /game/new_game_details.h $

	$NoKeywords: $

 ************************************************************************/
#ifndef NEW_GAME_DETAILS_H_INCLUDED
#define NEW_GAME_DETAILS_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// kill the 255+ character identifier warning.  Templates tend to exceed that easily.
#pragma warning( disable: 4786 )

#include "bitmap_group_ptr.h"
#include "dialog_box.h"

// ---------------------------------------------------------------------
// new game details dialog.  Choose which columns you wish displayed.
// ---------------------------------------------------------------------
class t_new_game_details_dialog : public t_dialog_box
{
public:
	t_new_game_details_dialog( bool size, bool difficulty, bool players, 
		                       bool humans, bool allies, bool number_of_maps, t_window* parent );

	bool size_checked() const;
	bool difficulty_checked() const;
	bool players_checked() const;
	bool humans_checked() const;
	bool allies_checked() const;
	bool number_of_maps_checked() const;
protected:
	void add_item( std::string const& name, bool* variable,
		 	       std::string const& text, t_bitmap_group* bitmaps );

	void button_clicked( t_button*, bool* variable );

	t_bitmap_group_ptr  m_new_game_bitmaps;
	bool			    m_size_checked;
	bool				m_difficulty_checked;
	bool				m_map_checked;
	bool				m_number_of_maps_checked;
	bool				m_players_checked;
	bool				m_humans_checked;
	bool				m_allies_checked;
};

inline bool t_new_game_details_dialog::size_checked() const
{
	return m_size_checked;
}

inline bool t_new_game_details_dialog::difficulty_checked() const
{
	return m_difficulty_checked;
}

inline bool t_new_game_details_dialog::players_checked() const
{
	return m_players_checked;
}

inline bool t_new_game_details_dialog::humans_checked() const
{
	return m_humans_checked;
}

inline bool t_new_game_details_dialog::allies_checked() const
{
	return m_allies_checked;
}

inline bool t_new_game_details_dialog::number_of_maps_checked() const
{
	return m_number_of_maps_checked;
}

#endif // NEW_GAME_DETAILS_H_INCLUDED
